[ACM] 無料SSL環境をセキュリティ診断してみた
はじめに
AWSチームのすずきです。
AWSの無料SSL証明書を組み込んだELBとCloudFrontを対象として、 QUALYS SSL LABSが提供するSSLサーバテストによる診断を実施する機会がありましたので、 その結果を紹介します。
診断サイト
QUALYS SSL LABS SSL Server Test
事前設定
ELB
- ELBの設定はAWSコンソールを利用しました。
セキュリティポリシー設定
- 2016年1月時点でデフォルトの「ELBSecurityPolicy-2015−05」を利用しました。
証明書設定
- ACMがリリースされているバージニア(us-east-1)リージョンでは、証明書としてACMで作成した証明書が指定可能です。
CloudFront
- カスタムSSL証明書として、ACMで作成した証明書を指定しました。
SSL診断
- QUALYS SSL LABS SSL Server Testを利用しました
- 「Domain name」欄に診断対象のELB、CloudFrontのFQDNを記入し「Submit」します。
- 診断結果の公開は希望しないので、非公開オプションをチェックしました。
ELBの結果
- 今回のELB、Multi-AZ、IPアドレスとしては2つ有した環境でした。
- 設定内容は共通と考えられるので、結果は1つのみ確認しました。
総合サマリー
- 総合結果「A」となりました
- 上位として「A+」も存在しますが、既知の問題はなく、安全に利用できる暗号化強度と思われます。
認証(Authentication)
- 鍵仕様(RSA 2048bit、SHA256)、有効期限などが確認できます。
- CA、ルート証明書情報も確認できます。
プロトコル設定
- ELB設定に依存する項目ですが、プロトコルなどの確認が可能です。
- 対応ブラウザ、IE 6/XPが対応外と判定されました。
- 現行環境、ほぼ問題なくHTTPS通信可能と考えられます。
- プロトコルの詳細、既知の脆弱性は無いと判定されました。
CloudFront 結果
- CloudFront(CDN)は、複数IPが検出されました。
- 設定内容は共通と考えられるので、結果は1つのみ確認しました。
総合サマリー
- 総合結果「A」、 スコアはELBと同一でした。
認証(Authentication)
- 同じ証明書を利用するELBと同一内容でしたので割愛します。
プロトコル設定
- 対応プロトコルはELBと共通でした。
- SNI(ホスト名ベースのHTTPS)でCloudFrontを設定した為、SNS非対応のブラウザがNGになりました。
- プロトコル詳細、問題のある設定は検知されませんでした。
- SSLセッション周りなどの設定で、一部ELBとの差異がありました。
既存サイトでの確認
- 「SSL Server Test」の有効性確認の為、別サイトでの診断も実施してみました。
クラスメソッドコーポレートサイト
- 弊社コーポレートサイト「http://classmethod.jp」の診断を試みました。
- 当該サイト、昨年COMODOより購入した証明書を、ELBに組み込み稼働しています。
- 総合スコアは「A」、ACMの無料証明書と同一スコアでした。
某国内サイト
- シマンテック(ベリサイン)のEV証明書を利用されているサイトでした。
- SSL証明書は問題がないものでした。
- SSLの既知の脆弱性(POODLE)対策が不十分であるとして「F」判定となりました。
- 利用が推奨されていない「RC4」が有効であるため、強度判定としても低めのスコアでした。
まとめ
今回、SSL通信の診断を実施したサイトは、ACMで作成した無料のSSL証明書を、 ELB、CloudFrontのデフォルト設定で組み込んだだけの環境でしたが、 適切な暗号化通信が実現できており、安心してSSL通信を利用出来る事が確認できました。
また、ACMとELB(CloudFront)を利用する環境であれば、 今後、SSL証明書やプロトコルに新たな脆弱性が発見された場合でも、 迅速に正しい対処が実施出来る事が期待できます。
手間暇かけずAWSをより安全に使うための手段として、ACM是非ご活用ください。